import sqlite3
import pandas as pd

# 连接到数据库
conn = sqlite3.connect(r'C:\Users\Administrator\OneDrive\Database\STORE_SOLD.db')

# 读取符合条件的数据：来源为1、2 或者 来源备注不为空
query = """
SELECT * FROM store_sold 
WHERE 来源 IN (1, 2) OR 备注 IS NOT NULL AND 备注 != ''
"""
df = pd.read_sql_query(query, conn)

# 关闭数据库连接
conn.close()

# 1. 各门店（门店编号），各日，各业务类型的金额，保存到excel的"底表"的sheet中
bottom_table = df.groupby(['门店编号', '日期', '业务类型'])['订单金额'].sum().reset_index()

# 2. 各门店（门店编号），各日，各业务类型的金额，保存到excel的"月汇总"的sheet中
# 将日期转换为月份
df['月份'] = pd.to_datetime(df['日期'], format='%Y%m%d').dt.to_period('M')
monthly_summary = df.groupby(['门店编号', '月份', '业务类型'])['订单金额'].sum().reset_index()

# 获取当前时间戳
from datetime import datetime
timestamp = datetime.now().strftime('%Y%m%d_%H%M')
filename = f'订单汇总_{timestamp}.xlsx'

# 创建Excel写入器
with pd.ExcelWriter(filename) as writer:
    # 保存到底表sheet
    bottom_table.to_excel(writer, sheet_name='底表', index=False)
    # 保存到月汇总sheet
    monthly_summary.to_excel(writer, sheet_name='月汇总', index=False)

print(f'数据汇总完成，已保存到{filename}文件中。')